\documentclass[border=8pt, multi, tikz]{standalone} 
\usepackage{import}
\subimport{../layers/}{init}
\usetikzlibrary{positioning}
\usetikzlibrary{3d} %for including external image 


\def\ConvColor{rgb:yellow,5;red,2.5;white,5}
\def\ConvReluColor{rgb:yellow,5;red,5;white,5}
\def\PoolColor{rgb:red,1;black,0.3}
\def\UnpoolColor{rgb:blue,2;green,1;black,0.3}
\def\FcColor{rgb:blue,2;green,5;white,5}
\def\FcReluColor{blue,2;green,5;;white,4}
\def\SoftmaxColor{rgb:magenta,5;black,7}   


\newcommand{\copymidarrow}{\tikz \draw[-Stealth,line width=0.8mm,draw={rgb:blue,4;red,1;green,1;black,3}] (-0.3,0) -- ++(0.3,0);}

\begin{document}
\begin{tikzpicture}
\tikzstyle{connection}=[ultra thick,every node/.style={sloped,allow upside down},draw=\edgecolor,opacity=0.7]
\tikzstyle{copyconnection}=[ultra thick,every node/.style={sloped,allow upside down},draw={rgb:blue,4;red,1;green,1;black,3},opacity=0.7]


\pic[shift={(0,0,0)}] at (0,0,0) 
    {Box={
        name=conv0,
        caption= ,
        xlabel={{3, }},
        zlabel=224,
        fill=\ConvColor,
        height=44.8,
        width=3,
        depth=44.8
        }
    };


\pic[shift={(1,0,0)}] at (conv0-east) 
    {Box={
        name=conv1,
        caption= ,
        xlabel={{96, }},
        zlabel=55,
        fill=\ConvColor,
        height=11.0,
        width=4.8,
        depth=11.0
        }
    };


\draw [connection]  (conv0-east)    -- node {\midarrow} (conv1-west);


\pic[shift={ (0,0,0) }] at (conv1-east) 
    {Box={
        name=pool1,
        caption= ,
        fill=\PoolColor,
        opacity=0.5,
        height=5.4,
        width=1,
        depth=5.4
        }
    };


\pic[shift={(1,0,0)}] at (pool1-east) 
    {Box={
        name=conv2,
        caption= ,
        xlabel={{256, }},
        zlabel=27,
        fill=\ConvColor,
        height=5.4,
        width=12.8,
        depth=5.4
        }
    };


\draw [connection]  (pool1-east)    -- node {\midarrow} (conv2-west);


\pic[shift={ (0,0,0) }] at (conv2-east) 
    {Box={
        name=pool2,
        caption= ,
        fill=\PoolColor,
        opacity=0.5,
        height=2.6,
        width=1,
        depth=2.6
        }
    };


\pic[shift={(1,0,0)}] at (pool2-east) 
    {Box={
        name=conv3,
        caption= ,
        xlabel={{384, }},
        zlabel=13,
        fill=\ConvColor,
        height=2.6,
        width=19.2,
        depth=2.6
        }
    };


\draw [connection]  (pool2-east)    -- node {\midarrow} (conv3-west);


\pic[shift={(1,0,0)}] at (conv3-east) 
    {Box={
        name=conv4,
        caption= ,
        xlabel={{384, }},
        zlabel=13,
        fill=\ConvColor,
        height=2.6,
        width=19.2,
        depth=2.6
        }
    };


\draw [connection]  (conv3-east)    -- node {\midarrow} (conv4-west);


\pic[shift={(1,0,0)}] at (conv4-east) 
    {Box={
        name=conv5,
        caption= ,
        xlabel={{256, }},
        zlabel=13,
        fill=\ConvColor,
        height=2.6,
        width=12.8,
        depth=2.6
        }
    };


\draw [connection]  (conv4-east)    -- node {\midarrow} (conv5-west);


\pic[shift={ (0,0,0) }] at (conv5-east) 
    {Box={
        name=pool3,
        caption= ,
        fill=\PoolColor,
        opacity=0.5,
        height=1.2,
        width=1,
        depth=1.2
        }
    };


\pic[shift={(1,0,0)}] at (pool3-east) 
    {Box={
        name=Fc1,
        caption= ,
        xlabel={{1, }},
        zlabel=4096,
        fill=\FcColor,
        height=1,
        width=1,
        depth=40.96
        }
    };


\draw [connection]  (pool3-east)    -- node {\midarrow} (Fc1-west);


\pic[shift={(2,0,0)}] at (Fc1-east) 
    {Box={
        name=Fc2,
        caption= ,
        xlabel={{1, }},
        zlabel=4096,
        fill=\FcColor,
        height=1,
        width=1,
        depth=40.96
        }
    };


\draw [connection]  (Fc1-east)    -- node {\midarrow} (Fc2-west);


\pic[shift={(3,0,0)}] at (Fc2-east) 
    {Box={
        name=soft1,
        caption=SOFT,
        xlabel={{" ","dummy"}},
        zlabel=1000,
        fill=\SoftmaxColor,
        opacity=0.8,
        height=3,
        width=1.5,
        depth=25
        }
    };


\draw [connection]  (Fc2-east)    -- node {\midarrow} (soft1-west);


\end{tikzpicture}
\end{document}
